# -*- encoding: utf-8 -*-
"""

PyCharm super的实际应用
2024年10月25日15时34分
by wenyang

文件主要内容:


"""
class Animal:
    def __init__(self, name):
        self.name = name

class Walk(Animal):
    def __init__(self, name, age): # 此时 Walk的MRO 就是 Walk -> Animal -> Object
        super().__init__(name)
        # 相当与 Animal.__init__(self, name) 但是上面写的话可用性就是更高 如果Animal的类名发生改变也不会发生错误的结果
        self.age = age

class Person(Walk): # 此时 Person的的MRO 就是 Person -> Walk -> Animal -> Object
    def __init__(self, name, age, height):
        super().__init__(name, age) # 此时就是相当于 Walk.__init__(self, name, age)
        self.height = height


def main():
    me = Person("wenyang", 23, 160)
    print(me.name, me.age, me.height)


if __name__ == "__main__":
    main()
